#include <ctype.h> int toascii(c) преобразует "c" в символ ASCII int tolower(c) преобразует "c" в символ верхнего регистра (в строчную букву), если это возможно int _tolower(c) преобразует "c" в строчную букву int toupper(c) преобразует "c" в символ нижнего регистра (прописную букву), если это возможно int _toupper(c) преобразует "c" в символ нижнего регистра int c; преобразуемый символ
Описание.
Макро toascii, tolower, toupper и _toupper преобразуют символ "c" так, как описано ниже.
Макро toascii устанавливает первые 7 битов "c" в нуль так, что преобразованное значение соответствует символу ASCII . Если "c" уже соответствует ASCII, то он не изменяется.
Макро tolower преобразует "c" в строчную букву, если "c" соответствует прописной литере. Иначе "c" не изменяется.
Макро _tolower является версией tolower , использующейся только тогда, когда "c" прописная буква. Если это не так, результат выполнения _tolower не определен.
Макро toupper преобразует "c" в строчную букву, если "c" не является строчной буквой. Иначе "c" не изменяется.
_Toupper является версией toupper , используемой только тог да, когда "c" строчная буква. Если "c" не является строчной буквой, то результат не определен.
Возвращаемое значение.
Макро toascii , tolower , toupper и _toupper возвращают пре образованный символ "c". Возвращаемого значения в случае ошибки нет.
Замечание.
Эти процедуры реализуются как макро. Однако tolower и toupper также реализуются и как функции, т.к. версии макро некорректно обрабатывают аргументы с побочными эффектами. Версии функций могут быть использованы, если удалить макроопределения директивой #undef или не подключать <ctype.h> . Определения функций tolower и toupper даны в <stdlib.h>.
Пример:
#include <stdio.h> #include <ctype.h> int ch; /*следующие операторы анализируют все **символы между кодами 0х0 и 0х7f. **Макро toupper и tolower применяются **для любых кодов. _Toupper и _tolower **применяются только для кодов, имеющих **смысл */ for (ch=0; ch<=0x7f; ch++) { printf (" toupper=%#04x", toupper (ch)); printf (" tolower=%#04x", tolower (ch)); if (islower(ch)) printf(" _toupper=%#04x", _toupper(ch)); if (isupper(ch)) printf("_tolower=%#40x", _tolower(ch)); putchar ('\n'); }